# changelog

история обновлений Чио.

## 14 Jun 2023 - Improve libs code quality

Общее повышение качества кода библиотек.
Упрощение функций, поправки комментариев, добавление аннотаций.

**Libs/chat_control**:

- Добавлено описание параметрам чата.
- `count_time`: использует `divmod()` и возвращает список вмето словаря.
- `kick`: Изменение вывода команды.
- Переименование функция согласно snake_case.

**Libs/commands**:

- Новый движок поиска.
- `get_random_cmd`: Возможность передачи списка команд.

**Libs/utils**:

- Новый парсер дельты времени.
    - Комплексные значения.
    - Сокращённый формат.
- `clear_code`: Убран декодер utf-8.
- `gen_code`: Возвращает число.

**Libs/vk**:

- Новый парсер id. Выше скорость.
- Убрана возможность получения id по имени/фамили участника.

**Plugins**:

- `funtools`: Использование нового парсера дельты времени.
- `chat_control`: Оптимизации, использование нового парсера дельты времени.

**Plugins/chat_control**:

- `marriages`: Убраны лишние зависимости.
- `stats`: Использование нового парсера дельты времени.
- `stats`: Использование нового формата `count_time`.
- `stats`: Исправлено сообщение статистики чата при зеркалах.
- `tokens`: Исправлено название группы данных жетонов.

**Plugins/vkutils**;

- Использованеи нового парсера дельты времени.
- Блокировка/разблокировка нескольких пользователей за раз.

***

## 26 Apr 2023 - Preparing to upgrade to v3.x

Начало цикла обновлений по полной переработке кода проетка.

- `core -> chiori`.
- Добавлено `venv` в `.gitignore`.
- Обновлена лицензия.
- Полностью удалён устареший CPM.
- `flibs -> libs`.
- `packages -> plugins`.
- `Starter`: Повышено качество кода.
- `Starter`: Переписано с использование `argparse`.


## 18 Sep 2022 - Cleanup

За долгое время пора почистить этот репозиторий.

- Прототипы и старые плагины были отделены в свои ветки. 
- Поправки в описании репозитория.
- Поправки в описаниях пакетов.

**И прочие маленькие изменения.**


## 7 Jul 2022 - 2022.5: errorgirl-patches 

За помощь в повышение стабильности Чио хочу скаазть спасибо Ерорке.
Список изменений создан с помощю `cpm 2.0 rf-v5`.

- Небольшой вспомогательный плагин `exception_caller.py`.
- В список зависимостей добавлено `icecream`.

**plugins/calc**:

- Переведено из `afterCommand handler` в команду.
- `Fix`: Работа при отсутствии аргументов.

**plugins/chat_control**:

- `Fix marriages`: Вывод сообщений.
- `Fix voteban`: Исключение участника из чата.

**plugins/chat_members:**

- `Fix`: Команда списка ветеранов (самых давних участников) беседы.

**plugins/commands**:

- Переписана справка об использовании Чио.
- `/comGenerator` - использует генератор команд для вывода всех возможных вариантов команды.

**plugins/funtools**:

- небольшое изменение вывода команды `/addtime`.

**plugins/reports:**

- Небольшое изменение стиля отчётов.
- При возникновения исключения записывается Traceback.

**И прочие маленькие изменения.**


## 1 May 2022 - 2022.4: router-file update

- `readme`: Внесены правки в описание.
- `readme`: Добавлено описание о Чио v3.x.
- Поправлены описания пакетов.
- Из `scripts/` удалён `sorter.py`, теперь он разрабатывается отдельно.
- Добавлены файлы прототипа Чио v3.x.

**Также некоторые маленькие изменения.**


## 22 Feb 2022 - Patсhes, remove cpm (v2.7.3.1) 

- `chiori.chio`: Небольшие поправки в `add_handler()` и `add_event_handler()`.
- Переезд cpm в самостоятельный репозиторий.
- В `start.py` и `plugins.vk_client` вырезаны лишние импорты.
- `plugins.chat_control.stats`: Исправлено получение отцуцтвующего участника.
- `plugins.vk_client`: Некоторые исправления.
- `plugins.vk_client.messanger`: Макет просмотра чата и отправки сообщений.


## 19 Feb 2022 - Update changelog, README, router-file V3

Доработка `changelog`, поправки в `readme` и новый router-file,
необхдимый для будущего обновления `CPM`.


## 13 Feb 2022 - wu-20 2022.2 (v2.7.3) 

- `chiori.plugins`: Исправлено преобразование имён.
- `cpm.Package.init`: Создание директории для нового пакета.
- `libs`: Некоторые поправки.

**Plugins**:

- `chat_control`: Роль святых участников стала временной.
- `sysutls`: Приветствие помещено в рамку.

**plugins.vk_client.messages**:

- `messages`: Анализ диалогов стал более красивым.
- `messages`: Список самых частых слов в диалоге.
- `messages`: Кол-во уникальных слов.


## 04 Feb 2022 - 2022.2 bug fix (v2.7.2) 

- Обновление README.
- `libs -> flibs` (*Fisakura's libs*), одним пакетом.
- Некоторые поправки для ядра.
- `scripts.updater`: Поправки работы.

**Plugins**:

- `message_logger`: Эксперименты со стилем логов.
- `notes`: Аоправки описания.
- Поправки описания и другие незначительные изменения.

**Plugins.chat_control**:

- `rules` - Новый модуль управления правилами чата.
- Обработка вышедших пользователей.
- Токены стали учитываться за последние 7 дней.
- `kickUser`: Возможнось исключить вышедших или не писавших участников.
- Новая система предупреждений, можно указать время и причину.
- `warnList`: Можно посмотреть список предупреждений с причиной и таймером до снятия.
- `leaves`: Список вышедших участников.
- `stats.userStats`: Указывается информация о предупреждениях.


## 30 Jan 2022 - wu-19 2022.1 (v2.7.1)

- `cpm`: Автоматическое подхватывание файлов в паектах.
- `scripts.sorter`: Добавлена ручная сортировка.

**Backends/vk**:

- `message`: Разделение слишком больших сообщений на куски.
- `convert_to_massage`: Новая система получения профилей.
- `convert_to_massage.event`: Добавлен пункт `to.profiles`.
- `user`: Переработка некоторых методов.
- `user.start`: Выключение чио, если не получилось подключиться от имени пользователя.

**Chiori**:

- `messageEvent`: Удаление "-" из названий команд.
- `files.fcheck`: Исправление создания директорий.
- `event.replaceParam`: Некоторое исправление работы.
- `plugins`: Добавлены атрибуты `name` и `desc`.
- `plugins`: Атрибут `dpath` и аргумент `path` для указания дирректории хранения данных плагина.
- `plugins.convert_names`: Функция преобразования строк типа `A(b) -> A, AB`.
- `plugins.gen_names`: Оптимизировано под обновление `messageEvent`.
- `Ui`: Атрибут отображение имени логов.
- `Ui.form`: Преобразование разных типов данных.

**Libs.chat_control**:

- `chat_data`: Измнение структуры данных.
- `get_chat`: Дополнение недостающих пунктов данных.
- `count_time`: Переработка функции с большей оптимизацией.
- `get_str_time (get_count_time)`: Переработка стиля и автоматическая переаботка кол-ва секунд.
- `kick`: Обработка некоторых типов данных.
- `setWarn`: Обработка святых участников.
- `setWarn`: Кол-во предупреждений 10 -> 5.
- `tokens_log`: Функция сбора статистики о жетонвх.
- `get_diff`: Возвращает разницу межд A и B.

**Libs.commands**:

- `search`: Исправление поиска.
- `search`: Украшение результатов поиска.
- `get_all_commands`: Возвращает все команды.
- `get_all_names`: Возвращает все имена команд.

**Libs**:

- `minigame`: Некоторые мелочи.
- `utils.clear_text`: Попытка сделать перевод из `utf_8`.
- `vk.get_id(-s)`: Получение id по имени (фамилии), если не повторяется.
- `vk.get_profiles`: Поделена на 2 функции (get/convert).
- `vk.convert_profiles`: Добавлено повсеместное обозначение платформы, с которой в сети.
- `vk.convert_profiles`: Повсеместное замена имени на ник, при наличии такового.

**Plugins**:

- Оптимизация под новую версию.
- `funtools.clearText`: Возможность очистить пересланнйы текст.
- `message_logger`: Пометка пересланного сообщения и информация об `action`.
- `sysutils`: Некоторые команды общего пользования отделены в пользовательский модуль.
- `command_utils.resetTopCommands`: Сброс статистики команд.

**Plugins.aliases**:

- Обновлено описание.
- Разделено на глобальнные/локальные алиасы.
- Добавлены соответствующие команды.

**Plugins.chat_control**:

- Еженедельное снятие предупрждений.
- Поправка учёта сообщений.
- Подгонка под новую структуру чата.
- Добавлен тихий режим чата (без сообщений о событиях).
- Сообщение о действии обработчиков.
- Приветствие участников, не писавших больше суток в чат.
- `connectChat` и `uncCnnectChat`: больше не требует `edit_code`.
- `swithSilentMode`: Переключатель "тихого режима".
- Некоторое добавление для текстов.
- Закомментированная команда, которую лучше не трогать.
- Подгонка под "святых участников".
- `permBanUser`: Вечная блокировка участников, аналог `banChatUser` без аргумента времени.
- Команды для просмотра, управления святыми.
- Отделение токенов в отдельный модуль.
- Убраны "уровни активности участников", заменено на статистику активности за период.
- Переработка статистики участника чата, некоторые пункты могут быть скрыты.
- `inactiveUsers`: Показывает всех участников, а не только тех, от кого не было активности день.
- `chatStats`: Больше нету разделения на полную и краткую статистику.
- `chatStats`: Переработан стиль, добавлены новые пункты и убраны старые.
- `chatLog`: Статистика сообщений чата по дням.
- `countMessages`: Статистика сообщенияй участника чата за неделю.
- Некоторые доработки модуля `words`.

**Plugins.chat_members**:

- Локальная функция `decor_date`.
- `onlineUsers`: Переработка стиля и доработка ошибок.
- `usersFrom`: Список приглашённых участников от `target`.
- `chatAdmins`: Список администраторов чата.
- `deactivatedUsers`: Список заблокированных/удалённых аккаунтов в чате.
- `offlineUsers`: Противоположность `onlineUsers`
- `who`: Выдаёт случайного участника с вашим текстом.
- `chat_control:stats -> oldersLeaderbord`: таблица ветеранов беседы.
- `chat_control:stats -> inviteLeaderBord`: таблица по пригласившим участников.

**Plugins.commands**:

- Добавлена справка по автоинструкциям.
- Если аргумент совпадаент с именем команды, то выводится информация о ней.
- Добавлены украшательства.
- Добавлена информация о проверяющих функциях.
- Добавлена информация об аргументах команд.
- Вернули сортировку по количеству обработчиков.

**New**:

- `libs.game.materials`: Некоторые наработки управления предметами.
- `libs.nicknames`: Повсеместное использование ников пользователей.
- `plugins.chat_control.tokens`: Отдельный модуль для "жетонов активности".
- `plugins.chat_control.voteban`: Голосование за исключение участников.
- `plugins.commands.gen_command_file`: Наработки для генерации md файла со всеми командами.
- `plugins.nicknames`: Порт системы ников из версии 2.4.
- `plugins.replacer`: Порт старого проекта `morph`
- `plugins.reports`: Порт репортов из версии 2.4.
- `plugins.vk_client.accounts`: Некоторые функции VK API `accounts`.
- `plugins.vk_client.messages`: Анализ диалогов.


## 30 Dec 2021 - week update 18 (v2.7)

- Добавлеен образец конфига для `vk_backend`.
- `cpm`: Косметические изменения.
- Добавлен скрипт быстрого запуска вк.
- Начало документации по созданю плагинов.

**Backend/vk**:

- Переименовано в `vk_backend`.
- Добавлена возможность запуска от имени пользователя.
- `request`: Измененён лог ошибки запроса, теперь более читаемый.
- `convert_to-message`: `event.date` - время события.

**Chiori**:

- `chio`: Возможность установки движка как аргумент, при инициализации класса.
- Подгонка под новую систему проверябщих функций.
- Некоторые изменения комментариев кода.
- `chio`: Проверяющих/else функций может быть больше одной и им можно задать аргументы.
- Проверяющие функции задаются внутри плагинов, импортируются вместе с ними, записываются в класс Чио и могут быть использованы другими.
- `ctx.hadnler`: Копия данных команды.
- `files`: Загрузка проверяющих функций в Чио.
- `files`: Исправлено проверка имён команд.
- `chio.ignore_paths`: Список пропускаемых директорий для загрузки.
- `ctx`: Добавлены атрибуты `now, minutes, strtime`.
- `event.get`: Аргумент `value`, будет возвращаться при отцуцтвии значения.
- `event.set`: Функция для установки значения в словаре.
- `plugin.check_func`: Декоратор для создания проверяющих функций и метод `addCheckFunc`.
- `plugins.cf`: Метод преобразования аргумента в список пар `имя, аргумент`.
- `plugins.commands`: Встроенныая в метод функция `gen_names`.
- `plugins.commands`: Отдельно появился список имён (`names`) и список обработчиков (`cmds`).
- `plugins.commands`: Ключ `id` с полным названием обработчика.
- `plugins.gen_names`: Метод создания всех возможных емён обработчиков.

**Libs.chat_control**:

- `chat_data`: Изменение структуры давнных чата.
- `get_chat_uds`: Возвращает все id зарегестрированных чатов.
- `get_chat`: Теперь поддерживает работу с зеркаоами.
- `check_chat`: Новое трёхуровневое разделение приоритета.
- `setWarns`: Исправление работы при отцуцтвии предупреждений.

**Libs**:

- `commands`: Переработка библиотеки, функции `search(), het_random_cmd()`.
- `vk.get_ids`: Получние id из пересланного сообщения.

**Plugins**:

- Все плагины были портированы под новую версию Чио.
- `calc`: Исправление имён.
- `funtools.attempt`: Попытаться сделать *что-то*.
- `message_logger`: Назначен движок и измененён стиль сообщений.
- `vk_client.utils`: Некоторые доработки.
- `check-utils`: Набор полезных проверяющих функций.
- `replya`: Переименовано в `command-utils`, добавлен счётчик команд.
- `info`: Портирован плагин информации о сборке.

**Plugins.aliases**:

- Исправлен заголовок и добавлено описание.
- Изменено описание команд.
- `delAlias`: Добавлено множественное удаление.

**Plugins.chat_control**:

- Добавлено описание.
- Сообщения в минуту 7 -> 5.
- Динамический вычет жетонов.
- Добавлен код редактирования беседы.
- Цикл обновления 24 -> 22 часа (для менее активных бесед).
- Команды привязки/отвязки чата.
- Переназначение приоритета команд.
- Команда сброса данных чата.
- Замена по возможночти `get_id()` на `get_ids()`.
- Поправка некоторых описаний команд.
- Замена методов `datetime.strftime()` на `time.ctime()`.
- Множествееная разблокировка участников чата.
- Поправка описания плагина.
- `stats`: Функции подсчёта жетонов и получения зеркала.
- Удалено `all` из счётчиков и подгонка функций других под это.
- Измененён стиль статисткики участника.
- Изменён вид таблицы лидеров.
- `stats.leaderbord`: Добавлена информация о кол-ве выдаваемом жетонов.
- Важные испралвение работы, связанные с отсутствием значений.
- Измененён внешнмй вид таблицы лидеров жетонов.
- Добавлено укорачивание списка уровней участников, если слишком много значений.
- `chatstats`: Полная информация и статистика чата.

**Plugins.commands**:

- Отображение описания плагина.
- Отображение проверяющих функций плагина.
- Группировка списка команд по проверяющим функциям.
- Вместо поиска по имени/команде добавлен общий поиск по плагинам Чио.
- Поиск был вынесен как отдельная команда, помимо `pluginsList`.
- `randomCommand`: Выдача случайной команды Чио.


## 19 Dec 2021 - week update 17 (v2.6.3)

**Backend/vk**:

- `group.start`: Разделитель, отделяющий каждое новое событие.
- `main.request`: Изменён стиль журнала.

**Chiori**:

- `chio`: `ignore_pid`, Список id плагинов, которые нужно пропускать при загрузке.
- `chio.messageEvent`: Исправлен перенос строк в аргументах.
- `files.Config.print_config`: Исправление работы.
- `ui.rc` - Очистка строки от цветовых кодов.
- `ui.form` - Принимает текст, которые обрамляет в рамку.
- `ui.progress_bar`: Возможность создать несколько цветных полос загрузки.

**Libs**:

- `commands`: Небольшие исправления.
- `commands.get_pid`: Взятая из `cpm` функция выбора.
- `utils.gen_code`: Исправлена работа.
- `utils.bitToNum`: Преобразование двоичного числа в десятичное.
- `vk.get_ids`: Извлечение всех id, найденных в списке аргументов.

**Libs.chat_control**:

- `main`: Хранение данных: `data/chats.toml` -> `data/chats/CHAT_ID.toml`.
- `get_chat`: Функция получения класса `Config` чата.
- `kick`: Теперь принимает список пользователей для исключения.
- `setWarn`: Функция для изменения кол-ва предупрждений участников.

**:ibs.game**:

- `main`: `Profile -> Player`.
- `utils.check_profile`: Преобразована в проверяющую функцию.

**Plugins**:

- `chat_members`: Изменения стиля.
- `chiori_protect`: Изменения связанные с `chiori.Ui`.
- `funtools.binConventer`: Доработка функции перевода.
- `replay`: Дсправления.
- `vk_utils.init`: `chiori.Ui.window -> chiori.ui.form`.
- `vk_utils.getUserIds`: Cмена функции `get_id -> get_ids`.

**Plugins.chat_control**:

- Изменения свзяаннык с обновленией бибилиотеки.
- Ограничение кол-ва сообщений в минуту.
- Ежедневная раздача жетонов за активность.
- `сезоны` сменены на `ежедневные сообщение/слова`.
- `сборщик мусора` очищает просроченные запросы на брак и пустые предупреждения.
- `main.resetWarns` - Очистить список предупрждений.
- `main.(un)warnUser`: Может принимать список участников.
- `main.unwarnAll`: Может примать кол-во предупрждений для снятия.
- `marriages`: Новая система браков.
- `marriages.request`: Если нет аргументов, выдаёт информацию о браке, а также список заявок.
- `marriages.request`: На запрос брака можно отвечать к примеру `/брак принять`, если одна входящая заявка.
- `stats.decor_rates`: Небольшое изменение оформления.
- `stats.stats`: Исправление работы.
- `stats.leaderbord`: Справка по использованию, время до сброса таблицы.
- `stats.leaderbord`: Аргумент `reverse` для обратной таблицы лидеров.
- `stats.tokenLeaderbord` - Таблица лидеров по жетонам (активности участников).
- `stats.stats`: Кол-во человек, которых пригласил участник.

**Plugins.commands**:

- Совмешены команды `/plugins, /help`.
- Общий поиск по командам/pid/названиям плагина.
- Для информации о плагине можно использовать часть название (`qrcodes -> qr`).
- Небольшое изменение оформления для экономия места.
- В списке команд помечается, если ли у команды `проверяющая функция`.
- Изменено оформление для списка плагинов, он выглядит намного приятнее.

**New**:

- `pakcages/notes`: Плагин заметок.
- Просмотр списка заметок (по дате/ваши заметки/локальные заметкм).


## 21 Nov 2021 - week update 16 (v2.6.2)

- `requirements`: python-dateutil
- Подправлено описание репозитория.
- `scripts/sorter`: Изменён стиль лога.

**Chiori**:

- `ui.cprint` Метод заменяющий (`print(ui.colored(text))`).
- `ui` Цветовое оформление стало темнее.
- `ui.row` Название разделителя теперь слева.
- `ui.print_list` Стал компактнее и добавлен отступ пунктам для визуального отделения.

**Plugins**:

- `funtools.getWinChance`: Округление сделано до сотых.
- `schooltools`: Топ кол-ва предметов/пар за неделю.
- `vk-utils`: Список администраторов.
- `vk-utils`: Некоторые имена для комманд.

**Ported**:

- `birthdays`.
- `chat_members`.
- `message_logger`.
- `qrcodes`.
- `replay`.
- `schooltols`.
- `vk-utils`.


## 14 Nov 2021 - week update 15 (v2.6.1)

- `backends.vk.user`: Добавлены атрибуты пользователя в класс, в приглашение и событие.

**Chiori**:

- `ui.progress_bar`: Отображаются проценты до десятыъ.
- `chiori`: Исправлена проверка преффикса.
- `files`: Исправлена обработка исключений при импорте файлов.

**Libs**:

- `vk.get_profiles`: Обработка исключения для *name*.
- `vk.get_profiles`: Обработка искоючений для *join_date*.
- `commands.gen_lib`: Если имя файла не "*main*", то ключ будет задан "`pid:filename`".
- `vk.get_id`: Возвращает *event.from.id*, если указано "*-u*"/"*0*".

**Plugins**:

- `chat_control`: Небольшие исправление и изменения описания плагиан.
- `holidays`: Переработана логика плагина, выводятся праздники в течении месяца.
- `calc`: Убраны состояния.
- `vk_client.utils.userGroups`: Анализ самых частых слов в группах пользователя.
- `vk_client.utils.searchUserFromIds`: Вывод списка друзей по *ID* или список одинаковых друзей пользователей.
- `funtools.unixtimeToDatetime`: Команда перевода *unixtime* в нормальное время.
- `clock`: Часы/таймер до определённого времени.


## 7 Nov 2021 - week update 14 (v2.6-t)

- Обновлены *package* файлы.
- `backemds.vk.user`: Изменён тип даижка на *vk_cli*.

**chiori**:

- `chio`: Добавлен атрибут `triggers`. Словарь *команда:путь*.
- `chio`: Изменена система роутеризации.
- `files`: Предупреждение при использовании "\_" как имени функции.
- `files`: Имя файла указывается без расширения (`aaa.py -> aaa`).
- `files`: Система проверки имени команды.
- `plugin`: Атрибут `usage` распределяется внутри `routers`.
- `Ui`: Если `print_list()` скормить словарь, то к нему применится метод `ui.dict_to_list()`.

**Libs**:

- `commands`: Набор функций для работы одноимённого плагина.
- `vk.get_id`: Если не указаны аргументы, еспользуется *ctx.args*.
- `vk.get_id`: Получение *id* по *screen_name*.

**Plugins**:

- Имена функций команд сменены с "\_" на нормальные.
- Некоторым командам добавлены новые триггеры.
- Некоторым командам добавлено описание.
- `aliases.setAlias`: Установить алиас.
- `aliases.delAlias`: удалить алиас.
- `passcheck`: Длинна пароля.
- `sysutils.pathToPlugin`: Прочие атрибуты расположения плагина.
- `sysutils.getCommandPath`: Получение расположения команды по имени.
- `sysutils`: Изменён стиль приветствия.

**ported**:

- *aliases*.
- *fun* -> *funtools*.
- *holydays*.
- *starter-utils*.
- *get_banned*, *get_friends*, *load_album* -> *vk_client/utils*.


## 1 Nov 2021 - new unstable chio (v2.5-u)

- Изменено описание.
- Поправлены зависимости пакетов.
- `start`: Добавлена поддержка `backends.vk.VkUser`.
- Из-за изменений все плагины были перенесены в `v2_4/`.

**Backends/vk**:

- `backend_type`: Тип движка
- Версия: `0.1 -> 0.1.1`
- `main.setLevel`: Изменения согласна новой версии.
- `vk.vk_user`: Движок `Starter` + `vk`.

**Сhiori**:

- Поправлены некоторые описания методов.
- `chiori.start_time`: Время запуска Чио.
- `chiori.handlers`: Словарь на замену: `chiori.*_handlers`.
- `chiori.routers`: <- `chiori.handlers`.
- `chiori`: Поддержка дополнительных преффиксов плагинов.
- Более понятные названия для переменных.
- `chiori`: Поддержка проверяющих/отрицающих функций.
- `files.Config.print`: Простой метод вывода конфига.
- `files.fcheck`: Указывается проверяемая папка.
- `files.loader`: Движки сверяются по типу, а не по имени.
- `files.loader`: Экземплярам плагина присвается их *PID*.
- `Plugin.command`: Изменена структура *router*.
- `Plugin`: Добавлены базовые проверяющие функции.
- `ui.Logger`: Добавлены методы логов, заменяющие типы логов (`l.log(text, type)` -> `l.type(text)`).


## 6 Sep 2021 - week update 13 (v2.4.1)

- `starter`: Исправление запуска при отцуцтвии выбранного движка.

**Libs**:

- `chat_control`: Библиотека для одноимённого плагина.
- `utils.clear_text`: Очищает текст от повторных символов.
- `vk.get_profiles`: Возвращает словарь профилей.
- `vk get_id`: Исправлено получение id из пересылаемого сообщения.

**Chiori**:

- В приветствии, статус безопасного режима.
- `chiori.secure_call`: Безопасный режим.
- `chiori.messageEvent`: аргумент `only_cmd`: не запускать сторонние обработчики.
- `files`: Сообщение о кол-ве загружаемых файлов.
- `plugins`: в `load` Теперь подставляется в конец `.py`.
- `files`: Если имя не указано -> пробел.
- `files`: Вырезан журнал загрузки плагинов.
- `files`: Счётчик файлов теперь следует общему фильтру.

**Plugins**:

- `chat_control`: Был разделён на модули (`main`, `marriages`, `stats`).
- `gamebot`: Основа для игрового бота.
- `aliases`: Присвоение имени для команды (пример: `/a -> /echo hello world`).
- `chat_members`: Тип платформы участников.
- `chat_members`: Подхватывает тех, кто был 30 секунд назад в сети.
- `message_logger`: Тип вложения, вместо надписи "ATTACHMENT".
- `starter-utils /progresstest`: Запустить цикл `chiori.Ui.progress_bar`.
- `chiori_utils`: Новое приветствие.
- `reports`: К отчётам прикладывается оригинальный тест сообщения.
- `chat_members`: Небольшая статистика онлайна.
- `chat_members`: Использование библиотеки `libs.vk`.
- `answer_database`: Изменён механизм пропуска.
- `helper`: Поиск по команде выдаёт не рпоцент схожести, а id плагина.
- `helper`: Список плагинов сортируется по кол-ву коммадн.
- `helper`: `/no-desc-cmd` Группируется по расположению.
- `replay`: История 10ти последних комманд.
- `mailing`: Исправлено исключение участника из списка.
- `repo_utils`: Исправлена работа плагина.

**plugins.new_commands**:

- `vk_utils /cid`: Вывести id чата/диалога.
- `vk_utils /remove`: `[id] [command]` Запустить команду с подменой id чата.
- `vk_utils /lg`: Загрузить граффити из пересланного сообщения(ний).
- `chiori_utils /sysconfig`: `[key] [value]` Изменить системным настройки.
- `chiori_utils /chmod`: Переключить безопасный режим.
- `fun /clear` - Очистить текст.
- `fun /rotate` - Перевернуть текст.
- `fun /emoji` - Выдать случайный смайлик.
- `fun /code` - Сгененрировать код (0-9) заданной длинны.


## 21 Aug 2021 - week update 12 (V2.4)

- `build` 11 -> 12
- `.update -> repo.toml`.
- `backends.vk` Добален параметр action в события.

**Libs.game.cardinal**:

- Ежечасная регенерация характеристик игроков.
- Ежемесячная смена множителя цены.
- Обработчик исключения `KeyboardInterrupt`.
- В данные игры добавены пункты: `price, last_price, p_multiplier`.
- `время`: 1 год = (15 -> 12 месяцев).
- `время`: Исправлена функция смещения времени.

**Libs.game**:

- Система работ.
- Индекс работ.
- `профиль`: Атрибуты `chars, items` для быстрого доступа.
- `профиль`: Атрибуты к `profile`: `opponent, dungeon, weapon`.
- `профиль`: Атрибуты к `items`: `property, work`.
- `профиль`: Метод `add_xp(xp)`.
- `профиль`: `money -> coins`.
- `профиль`: Изменено приветственное сообщение.

**Libs**:

- `utils` - функции общего назначения (`add_time()`).
- `vk` - функции для vk_group, vk_user (`get_id()`).
- `vk`: Функция `gat_id()` возвращает неиспользованные аргументы для команды.

**Chiori**:

- `messageEvent()`, и функции вызова возвращают результат вызываемой функции.
- Новый тип обрапботчиков `except`, срабатывают при исключениях.
- `ui`: Логи заполняют старый вывод строки.
- `files`: Проверка на свободность триггера.
- `files`: Группа логов `plugin loader` -> `chiori`.
- `files`: Убран журнал загрузки, вернулись логи.
- `files`: Из типа логов при загрузке убрано название директории.
- Испраавлено `try/except` при исключении `Shlex`.
- Исправлено разделение слов, снова учитываются новая строка.
- `files`: Убрано лишнее условие для сохранения.

**Plugins.chat_control**:

- `/актив` - Таблица лидеров по сообщениям в беседе.
- `/stats` - Статистика участника беседы.
- Посчёт сообщений.
- Автобан по `Event.action`.
- Функции `count_time()`, `get_count_time()`.
- Аргумент `for_users` для функции `check_chat()` - команды для всех.
- Кол-во предупреждений `3 -> 10`.
- Можно указать кол-во выдаваемых/снимаемых предупреждений.
- Новые имена командам: `/пред, /унпред, /предлист`.
- Импорт необходимых функций из библиотек.
- `/id -> /stats`.
- Исправлен бан участников, связанный с работой toml файлов.
- исправлена небольшая ошибка, если не указано время пишется "...актив за час:".

**plugins.plugins**:

- `vk-utils`: `/execute` - Выполнение команды от имени другого пользователя.
- `vk-utils`: Вернулась команда `/id`.
- `vk-utils`: Перенесена команда `/add_time` в `plugins/utils/fun`.
- `message_logger`: Добавлено отображаение ников.
- `mailing`: Исправлен уровень у команды `/sendmail`.
- `vk-utils`: Исправлен бан участников, связанный с работой toml.

**Plugins.utils**:

- `calc`: Добавлен предохранитель.
- `chiori-utils`: `/debug` Добавлен пункт `action`.
- `chiori-utils`: `/path` - Путь до файла с плагином.
- `chiori-utils`: `/whoami` - Ваши имя, фамилию, ник и уровень доступа.
- `chiori-utils`: `/except` - Исключение ValueError.
- `fun`: `/выбери` - Выбирает из нескольких вариантов.
- `game-modules/admin_panel` - Команды отладки/управления игровым миром.
- `game-modules/work` - Система работ и подработок.
- `helper`: `lib` Атрибут `filename` для плагинов.
- `helper`: `/plugins` Неточный поиск по имени/файлу плагина.
- `helper`: `/help` Неточный поиск по имени команды.
- `helper`: `/no-desc-cnd` - Список команд без описания.
- `helper`: Исправлна справка и даны описания командам.
- `reports`: Добавлено имя `/репорты`.
- `reports`: Обработчик исключений для создания авторепортов.
- `profile`: Изменения связанные с атрибутами профиля.
- `chiori-utils`: `/level` Внесены небольшие исправления.
- `auto_updater -> repo_utils`.


## week update 11 (V2.3) | 13 Aug 2021

**Repo**:

- В файл зависимостей добавленр `toml`, `shlex`, `pillow`.
- Добавлено миниядро (`_chiori.py`).
- `описание`: Перечень терминов.
- `backends.vk`: Добавлен `init` файл.
- `описание`: Изменены способы запуска.
- `описание`: Поправлено описание.
- `версия`: 10 -> 11.
- Файлы запуска были объеденены.
- Движки перенесены в отдельную папку.

**Chiori**:

- Добавлены комментарии к коду.
- `chio`: (**@Эрорка**) В конфиг добавлен список `ignore_files`.
- `chio`: (**@Эрорка**) Механизм защиты от поломки `shlex`.
- `files`: журнал загрузки плагинов.
- `UI`: `Logger.logtest()` - все виды логов.
- `UI`: `Ui.window(*lines **params)` - тестируемая функция отрисовки окна.
- `event.py, context.py -> modules.py`.
- `files`: Формат файлов `JSON -> TOML`.
- `UI`: `Logger.print_colors() -> Colors.colortest()`.
- `UI`: Измнён вид логов, проще концентрироваться на главном.
- `files`: Исправлена загрузка плагинов из несуществующей директории.
- `files`: исправлено поведение при отцуцтвии файла настроек.

**Plugins**:

- `demotivators` - Создание демотиваторов.
- Перевод всех плагинов в TOML формат.
- `chat_control`: Небольшие исправления.
- `vk-utils`: Приветственное сообщение использует `Ui.window()`.
- `vk-utils`: Лог сообщений вырезан в отдельный плагин.

**Plugins.programs**:

- `starter-utils`: Команды `/colortest /logtest`.
- `vk`: Изменено место импорта движка.

**Plugins.utils**:

- `repo-utils` - Инструменты репозитория компонентов.
- `answer_db`: `/db-add` для быстрого добавления ответов.
- `history`: Только повторяет предыдущую команду.
- `auto_update`: Исправлена команда `/обновление`.
- `reports`: Сообщает id отправленного сообщения.
- `reports`: Исправлено сообщение об удалении репортов.


## week update 10.1 (V2.2.4) | 6 Aug 2021

- `Версия`: 9 -> 10.
- Удалена ветка `testing/` и так за стабильность не ручаюсь.
- Некоторые уточнения описания.

**Chiori**:

- `event`: `bool from.is_admin` - Является ли пользователь администратором чата.
- `event`: `bool to.is_admin` - Является ли чио администратором чата.
- `plugins`: Атрибут `_triggers` - список всех имён команд плагина
- `plugins`: Атрибут `usage[cmd]` теперь строка.
- `files.config`: Если не указана группа, будет отображаться путь.
- Немного изменён вид журналирования.

**backands/vk**:

- Поддержка новых параметров `is_admin`.
- Добавлена функция `is_admin(event, user_id)`, для проверки по id пользователя.
- Исправлена выдача уровня заблокированным чатам.
- Исправлена обработка исключния.

**Plugins**:

- Новый плагин: `chat-control` - управление чатом.
- `chat_members`: Вырезан мусор, изменения связанные с новыми атрибутом `is_admin`.
- `mailing`: добавлено описание команд
- `vk-utils`: Добавлены краткие формы команд.
- `vk-utils`: Добавлены команды `/banchatlist /banuserlist`.

**plugins.programs**:

- `convert_db`: Добавлено описание коммандам.
- `convert_db`: Добавлена команда `/add-to-db` (требует `plugins/utils/answer_db`).

**plugins.utils**:

- `history`: Добавлена небольшая история команд.
- `chiori-utils`: Добавлены параметры `is_admin`.
- `chiori-utils`: `/level` Также добавлены параметры `is_admin`.
- `chiori-utils`: Команда `/ping` для прозвонки бота.
- `helper`: В списке плагинов добавлены их id.
- `helper`: Немного изменён вневний вид.
- `helper`: Исправлено отображение списка комманд, если их мало.

***

## week update 9 (V2.2.3) | 31 Jul 2021

- `зависимости`: +qrcode.
- `версия`: 8 -> 9.

**Chiori**:

- `контекст`: Добавлена функция `upload_photo` для движка ВК.
- `движок ВК`: Исправлена система уровней.
- `движок ВК`: Исправлена функции загрузки медиафайлов.

**Plugins**:

- `utils/chiori_utils`: `/level` - ваш уровень доступа.
- `utils/chiori_utils`: `/debug` Добавлен пункт `nick: event.from.username`.
- `plugins/vk-utils -> utils/command_cd` - Задержка обработки комманд от пользователя.
- `testing/niclnames` - Простая система ников.
- `testing/carts` - Построение интерактивой библиотеки карт.
- `programs/vk/get_users_from_names` - Получает `id, first_name, last_name`, по `screen_name`.
- `plugins/mailing` - Рассылка сообщений.
- `[port] plugins/qr` - Создание qr-кодов.
- `vk-utils`: `/op /deop` - снятие/назначение на роль администратора бота.
- `testing/changelog -> utils/auto_updater`.
- `[port] utils/calc`: Новая версия калькулятора.
- `vk-utils`: Изминения связанные с исправлениями систему уровней.
- `vk-utils`: Мсправление обращения к настройкам.


## 25 Jul 2021 - week update 8 (V2.2.2)

- Добавлен файл зависимостей.
- `описание`: Добавлены способы загрузки репозитория.
- `описание`: Пометка об установке зависимостей.
- `update.py` - скрипт принудительного обновления репозитория.
- `описание`: Древо папок -> содержимое репозитория.
- `версия`: 7 -> 8.

**Chiori**:

- `UI`: Добавлена стандартная длинна програсс-бара - 40% от длинны консоли.
- `files`: В исключения загрузки добавлены `data/, libs/`,
- `files`: Небольшое изминение логов,

**libs.game.profile**:

- Длинна логов 5 -> 10.
- `Fix`: Загрузка пустого профиля.
- `Fix`: Метод записи логов.

**Plugins**:

- `[port] plugins/birthdays` - дни рождения.
- `[port] plugins/chat_members` - участники чата в сети.
- `[port] programs/disc_usage` - использование диска.
- `[port] programs/starter_utils` - полезные комманды для cli движка.
- `utils/autoupdater` - автоматическая проверка обновлений.
- `utils/chiori-utils` - обобщённые утилиты, из `plugins/vk-utils`.
- `utils/reports` - способ отправить сообщение администратору.
- `testing/fun`: Добавлена команда `/unixtime`.
- `testing/info`: Изменена информация о боте.
- `utils/helper`: Мсправление опечатки и работы команды `/plugins`.

**Plugins.vk_utils**:

- Добавлена функция `add_time()`.
- Добавлен обработчик `autounban`.
- Добалвена защита от флуда командами.
- Добавлена команда `/addtime`
- Для команды `/ban` можно указать время блокировки.
- Часть статистики и команд перенесены.


## 17 Jul 2021 - week update 7 (V2.2.1) 

- Изменено древо папок.
- Исправление внешнего вида.

**Chiori**:

- `log`: Добавлено затраченное время на обработку сообщения.
- `files`: Добавлена `count_files()`.
- Изменён алгоритм извлечения текста, теперь (`/кубик == /подкинуть кубик`)
- `files`: Вместо логов о загрузке показывается полоса прогресса.
- `plugins`: Атрибут `usage` стал словарём `{id:{cmd, usage, level}}` для более гибкого использования.
- `UI`: В метод `progress_bar()`, добавлены аргументы `colors, hide`.
- `Fix`: отсутствие `ctx.cmd`.

**Game**:

- `lib`: Профилю добавлены: `effects, money`.
- `/g-stat` - узнать статус разработки игры.
- Изменён вид профиля.

**Ported**:

- `no-chiori-based/sorter`.
- `programs/clock`.
- `startrer` - костыльный движок `CLI`.
- `testing/calc`.
- `testing/fun`.
- `testing/weather`.
- `testinf/wiki`.
- `testing/info`.

**Other**:

- Добавлен мини плагин для просмотра списка изменений.
- `utils/helper` - утилита для просмотра списка команд/плагинов.
- Парочка перемещений веток плагинов.
- `vk-utils`: в команду `/debug` добавлена информация о `ctx`.
- Патч `start.py`, чтобы не подхватывал `starter`.
